
export function desensitizePhone(data) {
  // 处理非字符串类型
  if (typeof data !== 'string') {
    try {
      data = String(data)
    } catch {
      return '****' // 转换失败返回4个*
    }
  }

  // 统一空值处理
  if (!data.trim()) return data
  
  // 短数据直接返回4个*
  if (data.length <= 4) return '****'

  // 智能居中脱敏算法
  const totalVisible = data.length - 4
  const frontVisible = Math.floor(totalVisible / 2)
  const backVisible = totalVisible - frontVisible

  return [
    data.substring(0, frontVisible),
    '****',
    data.substring(data.length - backVisible)
  ].join('')
}